1. Field of the Invention
The present invention relates generally to the field of computer systems. Specifically, the present invention relates to data storage.
2. Description of the Related Art
Computer systems encounter many situations where some level of system state preservation is necessary. Several examples of such situations include machine checks, processing interrupts, context switching, and low power operations. In the following descriptions, the terms machine check, processing interrupt, and system exception are synonymous.
An interrupt typically involves the suspension of processing at a first location of a program and transfer of processing to a second location of the program upon the occurrence of an error in the system. After transferring to the second location, several system and processor parameters and registers (collectively known as architectural state or processor state) are preserved by being stored to a random access memory (“RAM”). Upon return from the interrupt, the architecture state may be restored from the memory and processing control may return to a position following the location at which the interrupt occurred.
However, during the process of saving architecture state, scratch registers are typically needed for temporary storage, such as, for example, a register for indexing. Since registers, such as general-purpose registers, predicate registers, et cetera, may contain architecture state, they are not available to be used as scratch registers for saving the architecture state unless they are saved first. Consequently, there is a problem of lacking temporary storage location to save the contents of scratch registers so that they can be used to save the architectural state.